package com.example.democode01.kotlin

val numbers = listOf(1, 2, 3, 4, 5)

// 过滤 - 找出偶数
val evens = numbers.filter { it % 2 == 0 }  // [2, 4]

// 映射 - 每个元素加倍
val doubled = numbers.map { it * 2 }  // [2, 4, 6, 8, 10]

// 查找 - 找到第一个大于3的元素
val firstLarge = numbers.first { it > 3 }  // 4

val num1= listOf(1,2,3,4,5,6,7,8,9,10)
//过滤  返回单数
val dan= num1.filter { it % 2 == 1 }

//映射  返回3倍
val sanbei= num1.map { it * 3 }

//查找  返回第一个大于5的元素
val six= num1.first({ it > 5 })


fun main() {
    println("$evens, $doubled, $firstLarge")
    println("$dan, $sanbei, $six")

// 遍历 - 打印元素
    numbers.forEach { println("Number: $it") }

    println("res1: $res1, res2: $res2")
    println("res3: $res3")
    println("res4: $res4")
}

fun calculate(a:Int,b:Int,op:(Int,Int)->Int)= op(a,b)

fun two(a:Int,b:Int,op2:(Int,Int)->Int)= op2(a,b)

val res3=two(2,3){ a,b->a+b}
val res4= two(2,3){a,b->a*b}

val res1 = calculate(2, 3) { a, b -> a + b }
val res2 = calculate(2, 3) { a, b -> a * b }
